home *** CD-ROM | disk | FTP | other *** search
- unit SimpleObject;
-
- interface
-
- uses
- ComObj, ActiveX, delphi_TLB, ASPTypeLibrary_TLB, uServerForm;
-
- type
- // Automation Object to support simple ASP operations.
- TSimpleObject = class(TAutoObject, ISimpleObject)
- private
- fScript : IScriptingContext; // Hold a refernce to be used through the program.
- fFirstName, fLastName : WideString;
- protected
- function Get_LastName: WideString; safecall;
- function Get_FirstName: WideString; safecall;
- procedure OnEndPage; safecall;
- procedure OnStartPage(const unk: IUnknown); safecall;
- procedure Set_LastName(const Value: WideString); safecall;
- procedure Set_FirstName(const Value: WideString); safecall;
- procedure WriteData; safecall;
- public
- procedure Initialize; override;
- end;
-
- implementation
-
- uses ComServ;
-
- function TSimpleObject.Get_LastName: WideString;
- begin
- Result := fLastName;
- end;
-
- function TSimpleObject.Get_FirstName: WideString;
- begin
- Result := fFirstName;
- end;
-
- procedure TSimpleObject.Set_LastName(const Value: WideString);
- begin
- fLastName := Value;
- end;
-
- procedure TSimpleObject.Set_FirstName(const Value: WideString);
- begin
- fFirstName := Value;
- end;
-
- procedure TSimpleObject.OnEndPage;
- begin
- fScript := nil; // Release the IScriptingContext interface
- end;
-
- procedure TSimpleObject.OnStartPage(const unk: IUnknown);
- begin
- fScript := unk as IScriptingContext; // Save the IScriptingContext interface
- end;
-
- // Our pre-defined method, declared in the type library.
- procedure TSimpleObject.WriteData;
- begin
- // Write response page to client's browser.
- fScript.Response.Write( '<TABLE>' );
- fScript.Response.Write( '<TR><TD>First name : </TD>' );
- fScript.Response.Write( '<TD>' + fFirstName + '</TD></TR>' );
- fScript.Response.Write( '<TR><TD>Last name : </TD>' );
- fScript.Response.Write( '<TD>' + fLastName + '</TD></TR>' );
- fScript.Response.Write( '<TABLE>' );
- end;
-
- procedure TSimpleObject.Initialize;
- begin
- // Initialize the object's state.
- inherited Initialize;
- fFirstName := '';
- fLastName := '';
- // Create the server form.
- if not Assigned ( frmAspServer ) then
- begin
- frmAspServer := TfrmAspServer.Create ( nil );
- frmAspServer.Show;
- end;
- end;
-
- initialization
- TAutoObjectFactory.Create(ComServer, TSimpleObject, Class_SimpleObject,
- ciMultiInstance, tmApartment);
-
- end.
-